Colegio Universitario de Cartago

Carrera de Big Data

Exploración de Datos (BD - 142)

Proyecto Final

Realizado por: Sharon Obando Gómez, Camila Jiménez Gómez y Wedell Orozco González

Docente: Osvaldo Gonzáles Chaves

Fecha presentación de proyecto: 21/08/2025

Librerias

library(XLConnect)
library(echarts4r)
library(caret)
library(loadeR)
library(FactoMineR)
library(discoveR)
library(dplyr)
library(fastDummies)
library(data.table)
library(plotly)

Acerca del dataset

Este estudio analiza el rendimiento estudiantil en educación secundaria en dos escuelas portuguesas. Los atributos de los datos incluyen calificaciones estudiantiles, características demográficas, sociales y escolares, y se recopilaron mediante informes escolares y cuestionarios. Se proporcionan dos conjuntos de datos sobre el rendimiento en dos asignaturas distintas: Matemáticas y Portugués. En [Cortez y Silva, 2008], ambos conjuntos de datos se modelaron bajo tareas de clasificación y regresión binaria/de cinco niveles.

#Data de los estudiantes de matematicas
d1=read.table("student-mat.csv",sep=";",header=TRUE)
sum(is.na(d1))
## [1] 0
dim(d1)
## [1] 395  33
#Datos de los estudiantes de portugues
d2=read.table("student-por.csv",sep=";",header=TRUE)
sum(is.na(d1))
## [1] 0
dim(d2)
## [1] 649  33
#Unión de los datos(solo estudiantes que cursan matematicas y portugues)
d3=merge(d1,d2,by=c("school","sex","age","address","famsize","Pstatus","Medu","Fedu","Mjob","Fjob","reason","nursery","internet"))
sum(is.na(d3))
## [1] 0
dim(d3)
## [1] 382  53
#Renombrar columnas
names(d3) <- gsub("\\.x$", "_math", names(d3))
names(d3) <- gsub("\\.y$", "_port", names(d3))

Fase #1

Objetivo General:

Analizar el rendimiento académico de estudiantes a partir de información académica, familiar y de hábitos de estudio, identificando perfiles de alto y bajo desempeño, con el fin de determinar qué factores influyen en el rendimiento académico.

Objetivo Especifico:

  • Rendimiento académico de parte de las instituciones

  • Analizar aquellas actividades realizadas por los estudiantes que pueden llegar a afectar positiva o negativamente su desempeño a nivel académico en las asignaturas de Matemáticas y Portugés.

  • Analizar mediante un AFCM los factores escolares, familiares, personales y de género que explican la diferenciación de los estudiantes en las dos escuelas.

Fase #2

Primer Periodo

e_histboxplot(d3[['G1_math']], 'G1_math', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este primer periodo en la materia de matematicas (G1_math) se obtuvieron datos como una media de 10 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 3 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 19.

e_histboxplot(d3[['G1_port']], 'G1_port', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este primer periodo en la materia de portugues (G1_port) se obtuvieron datos como una media de 12 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 0 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 19.

Segundo Periodo

e_histboxplot(d3[['G2_math']], 'G2_math', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este segundo periodo en la materia de matematicas (G2_math) se obtuvieron datos como una media de 11 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 5 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 19.

e_histboxplot(d3[['G2_port']], 'G2_port', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este segundo periodo en la materia de portugues (G2_port) se obtuvieron datos como una media de 12 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 7 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 18.

Tercer Periodo

e_histboxplot(d3[['G3_math']], 'G3_math', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este tercer periodo en la materia de matematicas (G3_math) se obtuvieron datos como una media de 11 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 0 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 20.

e_histboxplot(d3[['G3_port']], 'G3_port', '#4682B4', '#FF0000', c('minimo', 'Primer Cuartil', 'mediana', 'Tercer Cuartil', 'maximo'))

Podemos ver que en la distribución de este tercer periodo en la materia de portugues (G3_port) se obtuvieron datos como una media de 13 de nota como rango minimo que uno o algunos estudiantes obtuvieron fue de 0 y como rango maximo de igual forma que uno o algunos estudiantes optuvieron fue de 18.

Fase #3

ACP

Individuos

### Modelo ACP
modelo.pca <- PCA(var.numericas(d3), scale.unit = TRUE, ncp = 10, graph = F)
### Gráfico de individuos ACP (2D)
e_pcaind(modelo.pca, c(1, 2), '#4682B4', 0, '#B22222', c('Bien Representados', 'Mal Representados'))

Variables

### Gráfico de variables ACP (2D)
e_pcavar(modelo.pca, c(1, 2), '#228B22', 0, '#9932CC', c('Bien Representados', 'Mal Representados'))

Variables: (Walc._math - Walc_port) esta variable representa el consumo de alcohol los fines de semana, (Dalc_math - Dalc_port) esta variable representa el consumo de alcohol los días de trabajo, (goout_math - goout_port) esta representa la salida con amigos, (freetime_math - freetime_port) muestra el tiempo libre después de la escuela, (traveltime_math - traveltime_port) indica el tiempo de viaje de la casa a la escuela. Estas son algunas de las variables, las cuales tuvieron una correlación positiva fuerte donde ambas variables tienden a aumentar, pero esto se debe porque, como fue mencionado anteriormente; estos datos son la unión de estudiantes los cuales están llevando la materia de matemática y portugués.

Aún así en algunas variables se tienen variaciones como en la variable (absences_math - absences_port), esta representa el número de ausencias del 0 al 93 aunque, no es que sea un cambio muy drástico, ya que sigue siendo una correlación positiva pero no muy fuerte. Puede deberse a que algunos estudiantes tienen mayor ausencia en alguna de las dos materias. También tenemos un cambio pequeño en la variable (failures_math - failures_port), esta representa el número de suspensiones, al igual que la anterior, el cambio no es muy drástico; tiene una correlación positiva fuerte pero no como las anteriores, esto puede ser que algunos estudiantes suspenden más en una materia que en la otra.

Otra observación interesante es en las variables (G1_math,G2_math,G3_math - G1_port,G2_port,G3_port), esto representa las calificaciones del primer, segundo y tercer periodo donde, a pesar de que sea correlación positiva, es posible que algunos estudiantes tenga una calificación mayor en los distintos periodos más que en la otra materia; de igual forma estas variables como contraparte tiene una correlación negativa con las variables (failures_math - failures_port), esto puede deberse a que, entre mayor veces se suspende, menor es la calificación o viceversa. De igual forma, una correlación negativa con las variables (traveltime_math - traveltime_port), donde nos puede decir que, entre mayor sea la duración en el tiempo de viaje de la casa a la escuela es menor la calificación por temas de distancia, ya que es probable que algunos estudiantes lleguen tarde o por alguna situación climatológica no puedan asistir del todo y pierdan clases/información, las cuales pueda afectar a su desempeño.

Sobreposición

# Exclusión
columnas_deseadas <- d3 %>%
  select(where(is.numeric), school) %>%
  select(-Medu, -Fedu, -famrel_math, -famrel_port, -health_math, -health_port, -age)


# Nuevo dataframe completamente numérico
datos_pca <- dummy_cols(columnas_deseadas, select_columns = "school")
datos_pca_final<-datos_pca %>% 
  select(-school)

# PCA
modelo.pca02 <- PCA(datos_pca_final, scale.unit = TRUE, ncp = 10, graph = FALSE)
### Gráfico de sobreposición ACP (2D)
e_pcabi(modelo.pca02, c(1, 2), '#4682B4', '#228B22', 0, 0, '#B22222', '#9932CC', c('Bien Representados', 'Mal Representados'))

Podemos observar que la variable “school.MS” que representa a la escuela Mousinho da Silveira está correlaciona positivamente con las variables (failures_math - failures_port); a pesar de que tenga una correlación positiva con ambas, la que podemos destacar es la variable “failures_math”, donde posiblemente los estudiantes que son de esta escuela tengan una alta cantidad de suspensiones en la materia de matemática, también se ve una alta correlación con “health” en donde posiblemente los estudiantes de esta institución tienen una mejor salud.

En la variable “school.GP”, que representa a la escuela Gabriel Pereira, podemos ver una fuerte correlación positiva con las variables(G1_math,G2_math,G3_math - G1_port,G2_port,G3_port), pero vemos un punto destacado en las variables (G1_port,G2_port,G3_port) en donde ambas variables aumentan; esto nos puede decir que los estudiantes que son de esta escuela tienden a tener buenas calificaciones en la materia de portugués y de matemática aunque mayormente en portugués.

# Exclusión
columnas_deseadas02 <- d3 %>%
  select(where(is.numeric), school,address) %>%
  select(-Medu, -Fedu, -famrel_math, -famrel_port, -health_math, -health_port, -age)


# Nuevo dataframe completamente numérico
datos_pca02 <- dummy_cols(columnas_deseadas02, select_columns = c("school", "address"))
datos_pca_final02<-datos_pca02 %>% 
  select(-school, -address)

# PCA
modelo.pca03 <- PCA(datos_pca_final02, scale.unit = TRUE, ncp = 10, graph = FALSE)
### Gráfico de sobreposición ACP (2D)
e_pcabi(modelo.pca03, c(1, 2), '#4682B4', '#228B22', 0, 0, '#B22222', '#9932CC', c('Bien Representados', 'Mal Representados'))

Observaciones destacables que podemos observar es que la escuela o variable school_GP Gabriel Pereira tiene una fuerte correlación positiva con la variable addres_U la cual representa estudiantes que su dirección o ubicacion es urbana lo que nos puede decir que un alto porcentaje de los estudiantes de esta institución son del area urbana.

Otra de las de las observaciones enfocada en la otra institución la escuela o variable school_MS Mousinho da Silveira vemos esta correlación positiva entre la variable school_MS y Address_R la cual representa estudiantes que su dirección o ubicacion es rural lo que nos puede decir que una alta cantidad de estudiantes que pertenencen a la escuela Mousinho da Silveira viven en el area rural

AFC

Para realizar el análisis de AFC se tomaron aquellas variables que indican ciertas actividades realizadas por los estudiantes que pueden llegar a afectar su desempeño en las asignaturas de Matemáticas y Portugés. Las variables que se tomaron en cuenta son: el tiempo de viaje, el tiempo de estudio, las ausencias, la cantidad de veces que reprobó la asignatura y los promedios del primer y segundo semestre junto con el promedio final.

Perfiles de fila

En el perfil de filas se puede observar que la mayoría de estudiantes se conservan del lado izquierdo, sin embargo existe otro grupo de estudiantes que si se van saliendo de esa “normalidad” dentro del conjunto. Se puede decir que estos estudiantes que se alejan del conjunto son aquellos que más ausencias tienen o que han reprobado algunas de las materias de Matemática y Portugés.

Perfil de columnas

Aquí se observan las variables (columnas) que se utilizaron. Por un lado (izquierda) están el tiempo de viaje, el tiempo dedicado al estudio y los promedios, y por otro lado las ausencias y más arriba se muestra las veces que se reprobó la materia.

Más detalladamente se puede observar que en el caso de la materia de matemática se encuentra un patrón que muestra un progreso en el promedio de dicha materia. Al inicio el primer promedio (G1) es un poco bajo, pero este va en aumento hasta elevar el promedio final de dicha materia (G3). Este no es el caso de Portugués, ya que se muestra muy similar en todo tiempo a lo largo del periodo. Sin embargo, a ambas materias se les está dedicando un tiempo similar de estudio, a pesar de que el tiempo de traslado (viaje) sea alto.

Sobreposición

En la sobreposición podemos debatir lo que se dijo anteriormente y observar que existe un número concentrado de estudiantes que mantienen un buen desempeño en sus promedios de ambas asignaturas, sin embargo se puede observar otro grupo de estudiantes que si se van alejando de ese buen promedio y tiempo de estudio y son aquellos que tienen mayor porcentaje en ausencias a clases y uno que otro que ya haya reprobado las asignaturas.

Aquí se muestran las variables con mayor representación en el conjunto de variables, siendo las más altas las ausencias en ambas asignaturas y seguidamente la variable de reprobados en matemática. Es lógico pensar que aquellos estudiantes con mayor cantidad de ausencias son también los que probablemente reprobarán la materia. Por otro lado, se puede observar que los promedios de Portugués y Matemática tienen un comportamiento similar y estable a los largo de los tres períodos.

AFCM

Para poder realizar el análisis de AFCM se tuvo que eliminar aquellas columnas numéricas para dejar solo las columnas categóricas para poder realizar mejor interpretaciones.

# Carga de datos
datos <- fread('C:\\Users\\sharo\\Documents\\CUC II\\Exploracion de Datos\\Proyecto\\dataset_limpio.csv', sep = ',', dec = '.', header = TRUE, stringsAsFactors = TRUE, data.table = FALSE, check.names = TRUE)

datos <- na.omit(datos)

### Eliminar columna
Fedu <- datos[['Fedu']]
datos[['Fedu']] <- NULL

### Eliminar columna
Mjob <- datos[['Mjob']]
datos[['Mjob']] <- NULL

### Eliminar columna
datos[['Mjob']] <- Mjob

### Eliminar columna
Medu <- datos[['Medu']]
datos[['Medu']] <- NULL

### Eliminar columna
traveltime_math <- datos[['traveltime_math']]
datos[['traveltime_math']] <- NULL

### Eliminar columna
studytime_math <- datos[['studytime_math']]
datos[['studytime_math']] <- NULL

### Eliminar columna
failures_math <- datos[['failures_math']]
datos[['failures_math']] <- NULL

### Eliminar columna
freetime_math <- datos[['freetime_math']]
datos[['freetime_math']] <- NULL

### Eliminar columna
famrel_math <- datos[['famrel_math']]
datos[['famrel_math']] <- NULL

### Eliminar columna
goout_math <- datos[['goout_math']]
datos[['goout_math']] <- NULL

### Eliminar columna
Dalc_math <- datos[['Dalc_math']]
datos[['Dalc_math']] <- NULL

### Eliminar columna
Walc_math <- datos[['Walc_math']]
datos[['Walc_math']] <- NULL

### Eliminar columna
health_math <- datos[['health_math']]
datos[['health_math']] <- NULL

### Eliminar columna
absences_math <- datos[['absences_math']]
datos[['absences_math']] <- NULL

### Eliminar columna
traveltime_port <- datos[['traveltime_port']]
datos[['traveltime_port']] <- NULL

### Eliminar columna
studytime_port <- datos[['studytime_port']]
datos[['studytime_port']] <- NULL

### Eliminar columna
failures_port <- datos[['failures_port']]
datos[['failures_port']] <- NULL

### Eliminar columna
famrel_port <- datos[['famrel_port']]
datos[['famrel_port']] <- NULL

### Eliminar columna
freetime_port <- datos[['freetime_port']]
datos[['freetime_port']] <- NULL

### Eliminar columna
goout_port <- datos[['goout_port']]
datos[['goout_port']] <- NULL

### Eliminar columna
Dalc_port <- datos[['Dalc_port']]
datos[['Dalc_port']] <- NULL

### Eliminar columna
Walc_port <- datos[['Walc_port']]
datos[['Walc_port']] <- NULL

### Eliminar columna
health_port <- datos[['health_port']]
datos[['health_port']] <- NULL

### Eliminar columna
absences_port <- datos[['absences_port']]
datos[['absences_port']] <- NULL

Individuos

### Modelo AFCM
modelo.afcm <- MCA(var.categoricas(datos), ncp = 10, graph = F)

### Gráfico de individuos AFCM (2D)
e_afcmind(modelo.afcm, c(1, 2), '#4682B4', 0, '#B22222', c('Bien Representados', 'Mal Representados'))

Como podemos observar en este gráfico de individuos, los estudiantes están representados por puntos, podemos ver que, la mayoría de ellos se concentran en el centro, esto nos puede indicar que comparten variables categóricas comunes. También podemos observar algunos estudiantes en los extremos, lo que nos puede indicar que pueden ser valores atípicos. Pero, este gráfico no nos dice mucho, por lo que sería necesario analizar el gráfico de sobreposición para saber qué variables son comunes entre los estudiantes del centro y dar una mejor interpretación.

Variables

### Gráfico de variables AFCM (2D)
e_afcmvar(modelo.afcm, c(1, 2), '#228B22')

Como podemos observar en este gráfico de variables, algunas variables tienen mayor poder de discriminación entre los estudiantes. Por ejemplo, el apoyo familiar en ambas materias (famsup_math y famsup_port) se ubica alejado del origen, lo que indica que influye en la diferenciación de perfiles estudiantiles en la Dimensión 1. De forma similar, la variable relacionada con la situación sentimental (romantic_math y romantic_port) aparece en la parte superior de la Dimensión 2, señalando que también contribuye a explicar diferencias entre los alumnos. Las variables como school, internet, sex o Pstatus aparecen muy cerca del origen, lo cual sugiere que no aportan tanta variabilidad en este plano factorial.

Categorías

### Gráfico de variables AFCM (2D)
e_afcmcat(modelo.afcm, c(1, 2), '#228B22', 0, '#9932CC', c('Bien Representados', 'Mal Representados'))

Como podemos observar en este gráfico de categorías, nos muestra que las dimensiones diferencian principalmente a los estudiantes por aspectos de apoyo familiar, expectativas educativas y situación escolar. En la Dimensión 1, se distinguen los alumnos de la escuela MS, con menor apoyo familiar y aspiraciones reducidas de educación superior, frente a los que presentan mayor soporte escolar (school support, paid classes). Por otra parte, la Dimensión 2 parece estar relacionada con la situación personal y familiar: en la parte superior aparecen estudiantes con tutores distintos de los padres y con pareja sentimental, mientras que en la parte inferior se concentran categorías opuestas como no tener relación romántica y poco apoyo familiar. Las variables como el genero, el acceso a internet o la razón de elección de escuela no presentan gran capacidad de discriminación en este plano.

Sobreposición

### Gráfico de sobreposición AFCM (2D)
e_afcmbi(modelo.afcm, c(1, 2), '#4682B4', '#228B22', 0, 0, '#B22222', '#9932CC', c('Bien Representados', 'Mal Representados'))

Como podemos observar en la sobreposición, tenemos la unión de los gráficos de individuos y categorías. Se observa que los estudiantes se distribuyen en función de ciertas características discriminantes. En la Dimensión 1, los individuos situados hacia la derecha se asocian principalmente con la categoría school = MS y con la falta de aspiraciones de educación superior (higher_math_no), mientras que hacia la izquierda se concentran estudiantes vinculados con mayor apoyo académico (school_support y paid_classes). En la Dimensión 2, se distinguen alumnos relacionados con tener alguna relación o guardianes como papá o mamá en la parte superior, frente a aquellos sin relación sentimental y con menor apoyo familiar en la parte inferior. La gran concentración de individuos está en la zona central refleja que una proporción importante de estudiantes, donde se presentan combinaciones de categorías comunes, sin una diferencia marcada en estas dos dimensiones. Esto sugiere que el AFCM logra resaltar algunos perfiles específicos, pero que la mayoría de los alumnos se agrupan en torno a condiciones promedio.

Contribución con las variables Dim

### docpc
datos <- data.frame (x = row.names(modelo.afcm$var$contrib),
                     y = modelo.afcm$var$contrib[, 1],
                     z = modelo.afcm$var$contrib[, 2])

if(nrow(datos) > 20) {
  datos <- datos[1:20, ]
}

datos |> e_charts(x) |> e_bar(y, name = "Comp 1") |> 
  e_bar(z, name = "Comp 2") |> e_tooltip()

Comp1: Como podemos ver en este gráfico de contribución (Comp1), tenemos que las variables que más predominan aquí son: school = MS y Fjob_health, esta dos variables nos podrían estar indicando que la primera dimensión diferencia principalmente a los estudiantes en función de la escuela a la que pertenecen (con un peso particular de la categoría MS) y por el tipo de ocupación del padre (trabajo: área de la salud). Por lo tanto, Dim.1 puede interpretarse como un eje relacionado con el contexto escolar y el entorno familiar.

Comp2: Como podemos ver en este gráfico de contribución (Comp2), tenemos que la variable que más predominan aquí es el género (F y M), esta variable nos podría estar indicando que la segunda dimensión está explicado principalmente por el género de los estudiantes, (entre hombres y mujeres). Por lo tanto, Dim.2 puede interpretarse como un eje relacionado con el aspecto del género, en contraste con la Dimensión 1 que estaba más asociada al contexto escolar y familiar.

Fase #4

Cluster Jerárquico

  • Se utilizará el cluster jerárquico, ya que contamos con 382 registros.

  • Utilizaremos dos clusters, ya que queremos separar a los individuos en dos escuelas de Brasil. Esto nos ayudará a comparar mejor sus características y ver si existen diferencias entre las escuelas.

  • El método que utilizaremos será Ward, ya que, agrupa los datos de manera compacta y ordenada, también porque es más fácil de interpretar en comparación con otros métodos.

Transformar Datos (Variables: School GP - MS, Address R - U)

# Carga de datos
datos <- fread('C:\\Users\\sharo\\Documents\\CUC II\\Exploracion de Datos\\Proyecto\\dataset_limpio.csv', sep = ',', dec = '.', header = TRUE, stringsAsFactors = TRUE, data.table = FALSE, check.names = TRUE)

datos <- na.omit(datos)

### Transformar columna
datos <- datos.disyuntivos(datos, 'school')
datos[, 'school'] <- NULL

### Transformar columna
datos <- datos.disyuntivos(datos, 'address')
datos[, 'address'] <- NULL

Inercia (Inter-Clase e Intra-Clase)

### Modelo Clusterización Jerárquica
datos.aux <- var.numericas(datos)
modelo <- hclust(dist(as.data.frame(scale(datos.aux)), method = 'euclidean'), method = 'ward.D2')
clusters <- as.factor(cutree(modelo, k = 2))
centros <- calc.centros(datos.aux, clusters)
modelo.cj <- list(modelo = modelo, clusters = clusters, centros = centros)

### Inercia Clusterización Jerárquica
inercias <- data.frame(
  total = inercia.total(datos.aux),
  inter.clase = BP(datos.aux, modelo.cj$clusters)
)
inercias$intra.clase <- inercias$total - inercias$inter.clase

Como podemos observar queremos comparar las dos escuelas, la inercia inter-clase fue de 8.87%. Esto significa que la diferencia entre las escuelas es pequeña, ya que, la mayor parte de la variabilidad se encuentra dentro de cada escuela. En otras palabras, los estudiantes se diferencian más entre sí dentro de la misma escuela que comparando una escuela con la otra.

Dendograma 2 Clústers

### Dendrograma Clusterización Jerárquica
p <- gg_dendrograma(modelo.cj$modelo, 2, c('#F8766D', '#00BFC4'))
ggplotly(p, tooltip = c('y', 'cluster', 'clusters', 'label')) %>% 
  layout(showlegend = F, xaxis = list(showline = F), yaxis = list(showline = F)) %>%
  style(textposition = 'right') %>% config(displaylogo = F)

Como podemos observar en este dendograma, nos está separando en dos grupos o dos clústers, en donde podemos decir que son las dos escuelas, pero a simple vista no podemos realizar una buena interpretación, por lo que, para realizar mejores interpretaciones sobre esta tenemos los gráficos (Horizontal, Vertical y Radar).

Mapa

### Mapa Clusterización Jerárquica (2D)
modelo.pca <- PCA(var.numericas(datos))

## Warning: ggrepel: 2 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

e_mapa(modelo.pca, modelo.cj$clusters, c('#F8766D', '#00BFC4'), etq = FALSE)

Como podemos observar en el mapa se distinguen dos grupos. El Clúster1, correspondiente a la escuela GP ubicada en un entorno urbano, donde reúne a estudiantes con mayor dedicación al estudio, mejores calificaciones en matemáticas y portugués, una relación positiva con sus padres y un nivel educativo familiar más alto. Por otro lado, el Clúster2, asociado a la escuela MS ubicada en un entorno rural, agrupa a estudiantes con notas más bajas, mayor número de ausencias, presencia de problemas familiares relacionados con el alcohol y más tiempo libre que suelen destinar a salir con amigos. Sin embargo, se observa cierta mezcla entre los grupos, algunos estudiantes de la escuela MS presentan características del Clúster1, mientras que algunos de GP se ubican en el Clúster2. Esto permite concluir que las diferencias no dependen únicamente de la escuela o del entorno urbano/rural, sino que influyen también las actitudes y decisiones individuales de los estudiantes respecto a su esfuerzo académico.

Gráfico Horizontal

### Gráfico Horizontal Clusterización Jerárquica
e_horiz(modelo.cj$centros$real, c('#F8766D', '#00BFC4'))

Como podemos observar en este gráfico horizontal, podemos ver que tanto en el Clúster1 y Clúster2 las edades van de 16 a 17 años, por lo que esta variable no marca una gran diferencia significativa. Por otro lado, con las variables del rendimiento académico, los estudiantes del Clúster1 obtienen mejores resultados en portugués (G1=12.56, G2=12.68, G3=13.11) y matemáticas (G1=11.20, G2=11.08, G3=10.78), mientras que en el Clúster2 los promedios son más bajos, tanto en portugués (G1=10.52, G2=10.65, G3=10.37) como en matemáticas (G1=9.64, G2=9.39, G3=8.99). Con respecto al nivel educativo de los padres, ambos clústeres coinciden en que la mayoría alcanzó al menos la secundaria, por lo que no se considera un factor determinante en las diferencias de desempeño.

En cuanto al tiempo de estudio, los alumnos del Clúster1 dedican en promedio 2 horas tanto a portugués como a matemáticas, mientras que los del Clúster2 solo alrededor de 1 hora en cada materia. Además, las ausencias escolares se presentan con mayor frecuencia en el Clúster2, lo que puede impactar en su bajo rendimiento académico. En la variable de relación familiar, los estudiantes del Clúster1 muestran un vínculo más positivo y cercano con sus padres, mientras que en el Clúster2 se perciben relaciones familiares más débiles. Finalmente, en cuanto a los hábitos de consumo de alcohol (Walc y Dalc), el Clúster 2 presenta un mayor consumo en comparación con el Clúster 1, lo cual puede relacionarse con menor compromiso académico y un uso del tiempo libre más orientado a actividades sociales.

En conclusión, con este gráfico tenemos que, en el Clúster1 refleja un perfil académico más responsable y con apoyo familiar, mientras que el Clúster2 muestra un perfil con mayores riesgos sociales y menor dedicación al estudio, donde las diferencias parecen explicarse más por factores individuales y de entorno familiar que por la escuela a la que pertenecen.

Gráfico Vertical

### Gráfico Vertical Clusterización Jerárquica
e_vert(modelo.cj$centros$real, c('#F8766D', '#00BFC4'))
### Gráfico Vertical Clusterización Jerárquica
e_vert(data.frame(apply(modelo.cj$centros$real, 2, function(x) x)))

Como podemos observar en este gráfico vertical, en el Clúster1 predominan variables que reflejan un mejor desempeño académico y un entorno favorable, como los promedios más altos en los tres periodos, una relación positiva con los padres y una mayor dedicación al estudio. Lo contrario con en el Clúster2 que destacan variables asociadas a un menor rendimiento académico, tales como notas más bajas, menos tiempo dedicado al estudio y condiciones familiares menos favorables.

Gráfico Radar

### Gráfico Radar Clusterización Jerárquica
e_radar(modelo.cj$centros$porcentual, c('#F8766D', '#00BFC4'))

Clúster1: Como podemos observar en este gráfico radar, en el Clúster1 se destacan variables relacionadas con un mejor desempeño académico, ya que sus promedios en los tres períodos son más altos. Además, se refleja que estos estudiantes mantienen una mejor relación con sus padres y muestran mayor compromiso con el estudio.

Clúster2: Como podemos observar en este gráfico radar, el Clúster 2 se observa lo contrario, ya que, predominan variables asociadas a un bajo rendimiento académico, con promedios más bajos en los tres períodos. También presentan menos dedicación al estudio y, en general, una relación familiar menos favorable. Asimismo, se nota un mayor peso en variables negativas como ausencias y consumo de alcohol, lo que refuerza el perfil de menor compromiso académico.

Fase #5

Conclusiones:

Objetivo 1: Se pudo observar que los estudiantes que pertenecen a la escuela Mousinho da Silveira (school.MS) tienen mayor complicación en cuestión de rendimiento a comparación de los estudiantes que pertenecen a la escuela Gabriel Pereira (school.GP). Esto al final puede deberse a un sin fin de situaciones; ya sea profesores, motivos personales, el tiempo de viaje entre la casa a la escuela, o si el estudiante tiene algún tipo de ayuda extra o no.

Objetivo 2: Nuestro objetivo con el AFC era ver aquellos comportamientos de parte de los estudiantes que pueden afectar de forma positiva o negativa su desempeño a nivel académico. Como se pudo observar, las ausencias a las clases es uno de los factores más altos y negativos que dan como resultado que el estudiante deba cursar nuevamente la materia. Por otro lado, se hallaron aquellos estudiantes que, independientemente de su tiempo de viaje de la casa a la institución, y viseversa; dedicaban tiempo al estudio y lograban mantener un buen promedio en las materias de Portugués y Matemáticas en el primer y segundo periodo, dando como resultado un buen promedio final.

Objetivo 3: En conclusión, el AFCM nos permitió identificar aquellos factores que más llegan a diferenciar a los estudiantes de las dos escuelas en Brasil. La primera dimensión estuvo asociada principalmente al contexto escolar y familiar (como la escuela de procedencia y la ocupación del padre), mientras que la segunda dimensión estuvo más vinculada al género y a factores personales (como la situación sentimental y el tutor legal). Aunque la mayoría de los estudiantes se agrupan en torno a condiciones comunes, el AFCM evidenció perfiles diferenciados que reflejan la influencia combinada de factores académicos, familiares y demográficos en la caracterización de los alumnos

En conclusión, el Cluster Jerárquico nos permitió identificar dos perfiles claramente diferenciados entre los estudiantes. El Clúster1 agrupa a aquellos con mayor compromiso académico, mejores promedios en los tres periodos, una relación más positiva con sus padres y mayor dedicación al estudio. Por otro lado, el Clúster2 concentra a estudiantes con un rendimiento académico más bajo, menor tiempo de estudio, mayores ausencias y un entorno familiar menos favorable, con mayor presencia de consumo de alcohol. Estos hallazgos muestran que el desempeño estudiantil no depende únicamente de la escuela a la que pertenecen, sino que también está influenciado por factores individuales, familiares y de hábitos de vida.